Top 10k strings from Supercode - Microdrive (1984)(CP Software).tap in <root> / bin / z80 / software / Sinclair Spectrum Collection TOSEC.exe / Sinclair ZX Spectrum - Utilities & Educational / Sinclair ZX Spectrum - Utilities & Educational - [TAP] (TOSEC-v2007-01-01) /
Back to the directory listing
3 "23658",O:
3 "1";"SUPERCODE2"
2 to be replaced.
2 UP-SCROLL",T
2 PROGRAM",D
2 DOWN-SCROLL",T
2 BCCCCCCCCCCCCCCCCCCF
2 23635+256*
2 *"m";NN;C$(
2 *"m";E;"SUPERCODE3"
2 "ROM","0","
2 "23791",F:
2 "23659",F:
2 "23659",D:
2 "16"-G*(N<P);",";
2 " This routine
2 Loading Time:
1 variables"'" (3) Numeric Arrays"'" (4)
1 to the bottom area of
1 to be located":
1 to a new address.To correct,run this routine before loading.It resets System vars to pre-paging values,& ensures programs from cassette
1 to 23755 and not 23813."
1 this rout- ine within(using
1 the following:-"'"
1 the 2- byte equivalent(see #101)of the address of the
1 that is to be transformed,into ";:
1 such lines."
1 statements won't work if
1 statement at
1 start in mem."
1 sets like the SCIFI in #79).
1 scrolls when re
1 s. Also see #82,#90,#100,#103h"
1 s,by combining
1 s which are stored in RAM(ie,UDGs or alternative
1 s when logically possible.Also see #64 #90,#100,#103h."
1 s the no: of
1 s the length of the BASIC program. Memory used by variables is ignored. Also see #103,#111.";
1 s the address of the first
1 s RAMTOP to its original value, zeroes the entire memory & resets System Variables,UDGs & stack."
1 s & statements in a prog. Restart SUPERCODE with
1 routine,& let x=no: after LD,de.Use #115 with a higher start address & x =no: of bytes.The file should
1 quotes to save space.Also see #64,#82 & #100."
1 prog autostart, enter 1
1 part2 of your program with the header of another prog, by manipulating Record/Pause keys on taperec.Call this routine in part1,& immediately after,call routine115.Part2 will now auto-
1 p,q if bytes) Use the same
1 out these Instructions.
1 only. Incidentally,to
1 on lines 22 & 23."
1 on all 24 lines of the
1 of the same
1 of BASIC containing a prespecified sequence of
1 of a given
1 no: whose 2-byte equivalent was
1 n to prevent the scroll? prompt corrupting the
1 mode engaged"''"Release S key":
1 it to a different address, >23900 so it does not overlap with the System variables."'" (c)To
1 it back with
1 is to be execu- ted.Enter
1 is renumbered(except for arguments like 2.8 or N+3,which are high- lighted.If arg
1 is possible:use
1 instruction. At the end,
1 ing the two parts."
1 in non-deletab-le lines:the listing vanishes 5)Autostart by using
1 in a BASIC program by another
1 from Part1,but anyone who attempts to
1 for another
1 etc. Then
1 ed/reset Spectrum. (5)Press
1 ed,use routine119 before each
1 ed,the BASIC will autorun,& will start the
1 ed into a Spectrum with shadow ROM paged in,as the prog will
1 ed came from tape/Mdrve,
1 each part immediately before saving the next one:this ensures that there will be no delay between
1 d, it must be relocated by the samenumber of bytes."'"(2)It is possible to relocate # 22,23,71&76 too,but only to add-resses which are multiples of 256 away from the original add-resses.Proceed as follows: Get the page of the routine,& press Q to quit.The original address is A - say you want to relocate it to A+256*ZZ,where ZZ is a +/-integer.";
1 d into 62866 & 62867 respectively. The 4 columns are addr,contents in dec+hex &
1 d into 57125/26 ) :if not you will return to the next statement.
1 d in 60952(lo) & 60953(hi):initially 9495."
1 d in 60878(lo) & 60879(hi):initially 9495.For the error
1 co-ordinates of the";'" top left hand corner of the box
1 co- ordinates of the top-left hand corner of the box."
1 but will jump to the
1 at any position on the screen: ie, to find the
1 at ANY position X,Y on the
1 as well as resets
1 areutilised.)":
1 are set up as UDGs. To return to usual UDGs,
1 address from which
1 able). Use N to exit.
1 a higher RAMTOP first."
1 a headerless file, disassemble its
1 a RAMTOP belowZ &
1 ________"'
1 \##N#F#"]\"
1 [}\r#s#N#F#
1 ZX SPECTRUM MACHINE CODE TOOLKIT
1 ZX INTERFACE1 MUST BE ATTACHED
1 ZX INTERFACE 1 ATTACHED
1 Z=A+G-F*(N=
1 Z;" /"'" ";Z+1
1 Z2=235
1 Z2=231Enter:- 9990
1 Z2=229
1 Z if from Microdrive).If anaddress >23800 is to be
1 X-3,0 The program will work provided you do not
1 X+1,0. To do this to other lines, first find their address X using routine 88, then
1 UMP PAGE#/
1 UIT AND EXAMINE LINE 1210
1 Transfer OK"'"
1 This is Line #";Z
1 The save is OK. Press any key.":
1 TOP/MID RIGHT-SCR",S
1 TOP/MID LEFT-SCR",S
1 TOP RIGHT-SCROLL",S
1 TOP LEFT-SCROLL",S
1 TO SEE HOW THIS WAS DONE,";
1 THERE HAS BEEN A RECORDING ERROR
1 THE MICRODRIVE VERSION
1 Start address:
1 Space (1-255)"
1 SUPERCODE4
1 SUPERCODE3
1 SUPERCODE2
1 SUPERCODE TOOLKIT
1 SUPERCODE
1 SIMULATOR",I
1 SIMULATOR",G
1 SAVE*""m"";1;
1 S with Interval I
1 S U P E R C O D E
1 Routine Starts at ";A
1 Routine Ends at ";A+B-E;
1 Recording OK
1 ROUTINE NO:
1 ROUTINE IN ROM
1 ROUTINE #";N;"
1 RIGHT-SCROLL",S
1 RIGHT-SCROLL",33
1 REPLACE",D
1 RENUMBER",D
1 RELOCATION OF SUPERCODE ROUTINES
1 REFLECT Y-AXIS",E
1 REFLECT X-AXIS",E
1 RAM SIZE: 48K"''"PROGRAM LOADED FROM CASSETTE
1 R"E\*S\###"
1 Q,E;"This routine converts hex no:s to their decimal equivalents. It clears the screen & prompts 'H:' - now ENTER the hex no:. Only the last 4 hex digits will be converted. The routine auto- repeats. Enter 'Q' to quit, &
1 Q,E;"This routine
1 Q,E;"Call this routine at the start of your program, say by having as
1 Q,D;" The Spectrum doesn't check if there is enough space free in its memory before
1 Press ENTER to Expand the Whole Program
1 Part2 by other means will crash the computer."
1 PRINTING",E
1 P,D;" To break into autostart progs, (a)Instead of
1 P,D;" (a)To check whether a ZX Inter- face1 is connected,see whether or not an error is produced if an instruction like
1 OVERPRINT",E
1 ON /OFF checkerboard on the
1 O,E;"In order to make the FIRST line of your program non- deletable
1 No. STATEMENTS :
1 No. OF EXTRA BYTES::}\_:~\W:
1 No. LINES :
1 No. Bytes:
1 NON-RELOCATABLE ... use L
1 NO: ROUTINE
1 NO MORE OCCURRENCES
1 NNNNNNNNNN
1 N$,C$,C$,DUR:
1 MID/LOW RIGHT-SCR",S
1 MID/LOW LEFT-SCR",S
1 MID RIGHT-SCROLL",S
1 MID LEFT-SCROLL",S
1 MICRODRIVE VERSION by F Vachha
1 MICRODRIVE
1 MEMORY AVAILABLEN
1 Length of Program Only:!
1 LOW RIGHT-SCROLL",S
1 LOW LEFT-SCROLL",S
1 LINE NO:NOW RENUMBER PROGRAM
1 LEFT-SCROLL",S
1 LEFT-SCROLL",33
1 KILL CONDENSER",D
1 J;"----> ";
1 J,H;"Routine Length is ";B;" bytes
1 If this is OK, press enter.If itis not, enter the new name (notethat only the first ten
1 INSTRUCTIONS ON THE TRANSFER OF SUPERCODE TO THE ZX-MICRODRIVE
1 INDEX PAGE ";(C-E)/
1 I;"Less Sig More Sig":
1 H,D;" The ZX Microdrive spends most of its time trying to locate a file - actual loading is swift. 2 ways of saving files so that they can be accessed faster are (a)
1 GGGGGGGGGGGGGGGGGGGGGG
1 GGGGCCCCCCCCCCCCCCCCCCCGGGGG
1 GGGGBCCCCCCCCCCCCCCCCCCGGGGG
1 GCCCCCCCCCCCCCCCCCCG
1 G,D;"1)Make line1 1
1 Freddy A Vachha Vic B Rumsey
1 First Byte:
1 FROM LINE NO:TO LINE NO:AFTER LINE NO:NOW RENUMBER PROGRAM
1 FFFFFFFFFFFFFFF
1 F.VACHHA BSc
1 Enter Routine No:
1 Enter Index Page No:
1 EXCHANGE",E
1 ERROR CODE: ";N$:
1 ENLARGE REM
1 EFFECTS",I
1 EEEEEEEEEEEEEEEE
1 EEEEEEEEEEE
1 D,D;A$;A$;A$;A$:
1 Copying copies is FORBIDDEN
1 CCCCCCCCCCCCCCCCCCG
1 BLOCK COPY
1 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
1 BBBBBBBBBBBBBBBBBBBBBBBBBBBBB
1 Auto-start Line No:
1 Arrays"'" (5) FOR..NEXT control variables"'" Also see #70.";
1 Array Name:
1 ANY OTHER KEY
1 ADDRESS",D
1 A/C/D/E/I/J/L/M/N/P/Q/R/S/T
1 A$;A$;A$;A$:
1 >1 copies of the file on the same cartridge:for x copies,do
1 :these can be
1 :if not,only 1 of the copies might be erased."'" (b)When saving different parts of the program,
1 :Swop sets all squares with the item On,to Off, & all with the item Off,to On."
1 :On/Off toggle the given Colour item"'"
1 9990, & proceedto
1 7,13, enter PRINT
1 65360/61 with the start address of routine #63(Hex-Dec) which must also be in memory."
1 65290. All the memory from 32768 to 65535 is used.To replay,use #78."
1 64834, Box Width"'"
1 64832/5 with
1 64831, Box height"'"
1 64714/5, 2 byte eq of S Also see #60."
1 64711/2, 2 byte eq of I
1 64702, Frequency 2"
1 64693, Frequency 1"'"
1 64682, Duration"'"
1 64670, 28(UP) or 29(DOWN)"
1 64651, Duration"'"
1 64649, Span"'"
1 64648, Frequency"'"
1 63951, Duration"
1 63905, New
1 63903, Old
1 63801, No: to be inserted"
1 63798/9, Start Address (2 byte eq)"'"
1 63796, No: of bytes"'"
1 63713/14 with the address of the new
1 63652/53 with the 2-byte equiv.(see #101)of the address of the
1 63648, no: of
1 63502,No: of
1 63499/500,2 byte equiv. (see#101)of
1 63017/8, Time(ms) "" """
1 63014/5, Pitch( 2 byte eq)
1 63012, Number of notes
1 63011, Pitch Decrement
1 63004/5, Time(ms) "" """
1 63001/2, Pitch( 2 byte eq)
1 60899 Now if an error of the type D: BREAK, H:STOP in INPUT or L: BREAK into prog occurs,the prog will not stop but will jump to the line no: whose 2 byte equi- valent was
1 60826. Now if/when an error(other than types 0:OK,8:END,9:STOP)occurs the program will not
1 60713","113","HEX->DEC CONVERTER",E
1 60039.Z contains the required
1 60020, Colours (0-7)
1 60006, Duration (1-127)
1 58682,Box Length in
1 58681,Box Width in pixels
1 58680,64(Up)72(Mid)80(Low)
1 58679,Top Left Square
1 57124 with 195 IF you wish to execute m/c from an address(
1 57114/15 with 1st byte's address.
1 57110/11 with no: of bytes
1 56777,Speed(from 1=Fast to 255=Slow):if too fast you might be unable to read it. Call the routine either before running program(ignoring the initial display)or during the program.TRACE remains ON until you enter
1 32s.Also see #71"
1 24,(``AAAAAAAAAAAAAAAAAAAAAAAAB24,(```AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD4
1 24,(`AAAAAAAAAAAAAAAAAAAAAAAAA
1 23788.If = Program length found with #104 then it came from a MicroDrive"
1 23787+256*
1 23728/9, 2 byte eq: of a
1 23692,255 within the loop that generates the lines."
1 23676,255.";
1 23676, 223
1 23670 & 23671 give the less sig: & more sig: bytes respectively."
1 23659,2. Use
1 23659,0 before each
1 23659,0 at prog start - the effect is that of no:5)."
1 23636.If=23755,it hasn't been paged in so far."'" (c)To check if the program just
1 23636,92.3)Use #59,#98,call #65/66 to disable BREAKs & #68 for nondeleta- ble
1 23636,150. To return to normal
1 23636),100. You can RUN but not LIST prog until you
1 23635+256 *
1 23607, 60.";
1 23607, 223
1 23606/7 WITH THE LESS/MORE SIGNIFICANT BYTES OF THE START ADDRESS LESS 256(THIS IS CURRENTLY 0/223). TO RETURN TO THE USUAL
1 23552,RAMTOP-23550-F to save your program disguised as bytes- it will autostart at the first line."'" Also see #104.";
1 23550,Address of LAST byte of
1 2 byte eq of Start Address in 63980/1 ) with the display
1 1984 SUPERSOFT SYSTEMS
1 120"'"Then enter
1 0"'"Turn Page: Use ENTER or Jump"'"Menu:";:
1 0 to restart the toolkit. If called from #92, only the last 2 digits are considered."
1 0 to restart the toolkit."
1 0 restarts"
1 .Keeping the
1 . Also try
1 - 23549. When the
1 ,use routine 87 to find its
1 ,to the given address,a headerless file"
1 ,this routine merges a
1 ,say X, to a new
1 , PEEK 23681."
1 , on an empty Spectrum,to
1 , which saves space but reduces speed. 0 is replaced by NOT PI. Also see #64,#82,#90,#103,#104. To save even more space,replace all commonly occurring numbers (ie 0,1,2,10 etc)by variables, defined at the start. Routine #72 is useful for locating no:s"
1 +-*]\"[\*Q\
1 ++F+N+++"]\*S\~
1 ++F+N+++"]\
1 *ing:if a program is long/RAMTOP is low it could crash when you try to
1 *ing long programs.If any message besides 0 OK appears,shorten the prog: or
1 *]\###q#p##"]\
1 *S\##"]\^#V
1 *"m";E;"SUPERCODE4":
1 *"m";E;"SUPERCODE4"
1 *""m"";n;Name$
1 * it.That would lose the whole program.Instead,call this routine before
1 * ""m"";n;Name$(
1 )to tfr parts 3&4."'"(4)You now have a verified copy of SUPERCODE on microcartridge -it will autostart if you enter
1 )to Tape/Microdrive,
1 ). To access a routine whose no: is known, press
1 ). For ways to relocate routines, press
1 ),No:s/Var (2.3,Z,A$),operations(*),rel(<) etc,or combinations of these.
1 ), or just after,part1,and call it from there.It will
1 ) to restart. To get this routine's details another time, press
1 (with Z=A+256*ZZ)as in case(1) overleaf.Note thatthe routine will no longer workat its old address."'"(3)The ROM routines & #120 are vdifficult to relocate (why ever relocate a ROM routine?!),#77/78have to be located at the top ofRAM.":
1 (same number),0.2)
1 (X/256)"'"
1 (Index). Use ENTER to turn pages To access the next routine in the Index, press
1 (63768,63771)
1 (63762)
1 (63744)
1 (63738)
1 (63732)
1 (1)Using PAUSE"'"(2)W/out PAUSE
1 (1)Reset the Spectrum.Put a new cartridge in Microdrive#1"'"(2)Enter
1 (*)/ INDEX/ CUSTOMISE"'"Restart: Use
1 (""SUPERCODE"", or ERCO),commands(
1 '"This routine will be saved with the provisional name
1 '"If an error message appears, useGOTO 0 to restart."'"Enter the Microdrive number, or just press Enter for the default# of 1.":
1 & statement no: currently being executed.
1 #T]##N#F#~
1 #4; is executed(use with r.no:65) This pages in the shadow ROM, if present."'" (b)To check if the shadowROM is paged in,
1 #0/#1.If the lower part of
1 # command does
1 # GENERATOR",E
1 "To store this routine on a Microdrive cartridge,press
1 "The SAVE is over."'"Proceeding with VERIFY.":
1 "SUPERCODE4"
1 "SUPERCODE3"
1 "SUPERCODE2"
1 "ROM","0","STAR/RING DRAW",E
1 "ROM","0","PROTECT PROGRAM",D
1 "ROM","0","NON-DELETABLE
1 "ROM","0","MDRVE DIAGNOSIS",D
1 "ROM","0","FREE-SCROLLER",E
1 "ROM","0","FAST
1 "ROM","0","CHR$ SCRAMBLE",E
1 "ROM","0","AUTO
1 "ROM","0","24
1 "ROM","0","2 BYTE CONVERTER",E
1 "Please replay the tape.":
1 "OK,the name is
1 "OK,the Microdrive # is
1 "Move the cursor to the required line & then call this routine. You will be in EDIT mode, but with the cursor at the END of the line."
1 "Further Reading: Programming the Z80 (R.Zaks,ISBN 0-89588-094-6) Complete SpectrumROMDisassembly (I.Logan&F.O'Hara,ISBN 0-86759- 117-X)":
1 "F R ` F R `"'':
1 "And now at slow speed":
1 ";A+P;", Box Width"'"
1 ";A+M;", Box Height"
1 ";A+G;" with"'"
1 ";A+F;", INT(X/256)"
1 ";A+E;", X- 256*
1 ";A+E;", Overall Colour"
1 ";A+E;", New Attribute Val"'"
1 "9",H;"To call this routine, use";
1 "9",D;" If the 2 byte equivalent of X = L(Less)/M(More) sig: bytes,then L+256*M=X.The less significant byte comes 1st. This routine is an instant converter of numbers from 0-65535 to their 2 byte equivalents.To convert X to its 2 byte equiv.,enter
1 "65494","32","PIXEL RIGHT-SCROLL",S
1 "65462","32","PIXEL LEFT-SCROLL",S
1 "65350","112","HEX
1 "65318","32","REPLAY SOUND",D
1 "65290","28","RECORD SOUND",D
1 "65277","8","SURE
1 "65256","21","
1 "65204","52","
1 "65143","61","
1 "65081","62","
1 "65026","55","
1 "64982","44","
1 "64965","17","
1 "64948","17","
1 "64931","17","
1 "64914","17","
1 "64884",M:
1 "64883","31","
1 "64858","25","
1 "64828","30","
1 "64809","19","
1 "64784","25","
1 "64756","28","
1 "64744","12","
1 "64706","38","
1 "64675","31","DUAL-NOTE SOUND-GEN",J
1 "64647","28","UNI-NOTE SOUND-GEN",H
1 "64629","18","SHUTTER RIGHT-SCROLL",I
1 "64611","18","RIPPLE RIGHT-SCROLL",S
1 "64593","18","SHUTTER LEFT-SCROLL",I
1 "64575","18","RIPPLE LEFT-SCROLL",S
1 "64550","25","
1 "64525","25","
1 "64500","25","
1 "64475","25","
1 "64450","25","
1 "64425","25","
1 "64400","25","
1 "64375","25","
1 "64350","25","
1 "64325","25","
1 "64300","25","
1 "64275","25","
1 "64211","59","LOWER-CS PROGRAM",D
1 "64197","14","MEMORY AVAILABLE",E
1 "64098","99","PIXEL DOWN-SCROLL",192
1 "64001","97","PIXEL UP-SCROLL",192
1 "63976","25","
1 "63950","26","LASER ZAP",I
1 "63902","43","
1 "63806","96","BLOCK
1 "63795","11","BLOCK MEMORY INSERT",E
1 "63777","18","
1 "63728","49","
1 "63644","83","
1 "63490","154","
1 "63382","108","INITIALISE",D
1 "63205","177","
1 "63163","42","
1 "63143","20","
1 "63124","19","
1 "63051","73","
1 "63034","17","OBLIQUE SCROLL-OFF",1625
1 "63010","24","MULTI
1 "63000","10","UNI
1 "62943","54","MONOCHROME PROGRAM",D
1 "62857","86","ANALYSE MEMORY",E
1 "62819","38","
1 "62533","286","TAPE HEADER READER",D
1 "62404","129","ANALYSE PROGRAM",E
1 "62087","317","EXPAND PROGRAM",D
1 "61400","687","CONTRACT PROGRAM",D
1 "61000","400","BLOCK
1 "60972","24","AWAIT KEYPRESS",D
1 "60899","72","ON BREAK
1 "60879",D:
1 "60878",J:
1 "60826","73","ON ERROR
1 "60595","118","DEC->HEX CONVERTER",E
1 "60494","101","
1 "60407","86","APPEND STATEMENT",D
1 "60222","185","VARIABLES
1 "60192","30","
1 "60162","30","
1 "60039","123","
1 "60029",Z:
1 "60029",I:
1 "60020",F:
1 "60006",I:
1 "60000","38","
1 "59988","12","PROGRAM LENGTH",E
1 "59975","13","
1 "59294","681","SUPER-RENUMBER",D
1 "59136","158","PAINT-FILL",E
1 "58892","244","
1 "58833","59","UPPER-CS
1 "58774","59","LOWER-CS
1 "58715","59","UPPER-CS PROGRAM",D
1 "58683","31","BLOCK MEM
1 "58608","75","PIXEL BOXRIGHT SCROLL",S
1 "58571","112","PIXEL BOXLEFT SCROLL",S
1 "58398","173","UNCONFUSE
1 "58263","135","CONFUSE
1 "58115","148","COMPRESS NUMBERS",D
1 "57344","768","SCIFI
1 "57176","168","FOREIGN ACCENTS",E
1 "57159","17","ADAPT PROGRAM",D
1 "57126","33","SURE
1 "57108","18","HEADERLESS FILES",D
1 "57094","14","ANTI-
1 "56777",E:
1 "56640","450","TRACE VARI-SPEED",E
1 "56"*(N<P)'" SCROLL-OFF:
1 "54"+(N<P):
1 "4)Embed hidden colour CHR$ to set
1 "36"+A;", 26"'" SCROLL-OFF:
1 "36"+A;", 0"
1 "3438","0","LOWER
1 "3190","0","
1 "2590"*(N$="L")
1 "23659",F*(N=
1 "23606",D:
1 "234"-Z,D:
1 "23295"+Z,
1 "20"*(NMAX=F)
1 "2.3025"):
1 "19",E;"8 calls"
1 "18",D;" WRAP-AROUND:
1 "16";"Right"
1 "15",E;"To scroll attributes as well, refer to routines 37-40(define suitable box & Attr value).Call the attribute scroll once per 1 call of this routine.":
1 "13";", 0"
1 "1210"+N*I:
1 "111"),D;"
1 "109"),H;"
1 "1";"run":
1 "1";"SUPERCODE4"
1 "1";"SUPERCODE3"
1 "1";"SUPERCODE":
1 "0","0","RESET",D
1 "'''"Where any part of SUPERCODE is used,a prominent credit must be given to this fact, and to its authors, F.A.Vachha BSc & V.B. Rumsey.":
1 "''"Number of Routines:
1 "''"Define Z1,Z2:-"'"For
1 "''"(1)To move a Relocatable Routineso that it starts at address Z,first
1 "'"Place: 56640-65535(RAMTOP=56639)Help Prog:
1 "#";N;": ";
1 " WRAP-AROUND:
1 " To store this routine on tape, press
1 " To renumber without
1 " To renumber lines starting with S using interval I,
1 " To make a
1 " To help with
1 " To delete all lines from a to b
1 " This routine zeroes all numeric variables/arrays,sets all
1 " This routine waits till a key (whose CODE will be put in L)is pressed.";
1 " This routine undoes the effect of #98, to allow lines of a CONFUSEd program to be EDITed/ altered."
1 " This routine swops all
1 " This routine simulates a power- off: ie, it not only does
1 " This routine shortens+speeds up programs by deleting all
1 " This routine replays what #77 recorded. It is probably best to use your cassette-recorder (MIC socket) to amplify the sound."
1 " This routine replaces numbers in the program by VAL
1 " This routine replaces each occ- urrence of a specified
1 " This routine prints out a full analysis of memory contents, starting at the address whose less & more significant bytes (see #101)have been
1 " This routine places a random # pair in the System Variable SEED ( PEEK 23670 & 23671 )." ;
1 " This routine operates on
1 " This routine merges a
1 " This routine loads information stored in memory into an auto- created
1 " This routine lists each
1 " This routine lists all"'" (1) Numeric variables"'" (2)
1 " This routine inserts a given number into a block of memory.
1 " This routine expands programs so that there is exactly one statement per line (except in IF..THEN lines).In reply to the prompt, enter the no: of the line you want expanded, or just ENTER if you want the entire program expanded. You must use #60 after calling this routine."
1 " This routine enables you to determine the
1 " This routine does a
1 " This routine deletes all hidden colour
1 " This routine decodes tapeheader information & prints out a full analysis (name, address, type, length & auto-start details."
1 " This routine converts decimal no:s from 0 to 65535 to hex. It clears the screen & prompts 'D:' - now ENTER the dec no:. Error message 6 results if the no: was out of range. The rou- tine autorepeats. Enter 'Q' to quit,&
1 " This routine allows hex input into RAM.POKE the less/more sig (see #101)bytes of the first address to be changed into the system-variable DEFADD(23563/4)
1 " This routine allows a block of lines to be relocated within a BASIC program.In order to shift lines 4200 till 6745 so they appear after2200 in the listing respond 4200,6745 & 2200 to the auto-prompts.The new lines will all have number 0.Now call #60 to renumber & #57 to delete the old lines. Fully errorproofed."
1 " The routine speeds up+contracts programs into the minimum no:of
1 " The routine changes all squares with a given
1 " The routine
1 " The free space F from the last Variable to RAMTOP is printed. Use
1 " THIS IS AN EXAMPLE OF THE SCIFI
1 " Routines 94 to 97 change the case (upper/lower)of strings or of the entire listing ( except strings),as specified.Note that an effective way of switching case from within programs is to POKE 23658,0 (LO) or 8(HI)."
1 " In some cases the command
1 " In order to scroll a table of data > 22 lines long without stopping, use the command
1 " INVERSE SCR:
1 " Having connected the EAR socket of the cassette-recorder to the Spectrum,start playing the tape (Voice is best;Vol=Max),&
1 " For transfer of
1 " Follow the prompts to expand a REM statement (to accommodate code) anywhere in the program, by up to 9999 bytes"
1 " Draw multipointed-stars & rings by first plotting a point near the middle of the screen & then using DRAW X,Y,N where X & Y have magnitudes from 10 to 60 & N lies between 1000 & 9999. You should experiment."
1 " Draw any closed figure on the screen, then PLOT a point lying INSIDE it. POKE 59293 with the Attribute value to be filled,& then call this routine."
1 " Corrupts the listing without affecting program execution: attempting to EDIT/alter lines could be fatal (thus useful for program protection, as are #68/ #80)."
1 " Call this routine at the start of your program, say by having as
1 " By POKEing 23606 & 23607 with different numbers, a corrupted character set is obtained. To normalise, POKE 23606,0 : POKE 23607,60. Protect your program with this, temporarily normal- ising before each PRINTing."
1 " BASIC programs with m.code in
1 " A set of accented
1 values are not changed.Refer to #25-27 for
1 to a ZX-Microdrive, press
1 to """" & all dimensioned
1 swops the current screen & the STOREd one A screen has 6912 bytes (24*32* 8, + 24*32 Attributes) & should be stored above RAMTOP (CLEARed downwards to make room).To have a screen from X to X+6911, use
1 saves a screen,
1 recalls it.
1 messages."
1 is now called
1 does not close all streams.If this occurs,use this routine."
1 SAVE""Name""CODE ";A;",";B
1 ROUTINE # 65 HAS PREVENTED YOU FROM BREAKING INTO THIS PROGRAM
1 OVERPRINT
1 ERR+1,0'.Any BREAK/ error will now cause a crash. 6)
1 59580 ,I: POKE 59582/3,2 byte eq:of S Each
1 23692,x where x is the no: of lines to be scrolled. To scroll 'forever' use
1 1.The 2 byte equivalents(see # 101)of the starting address of the memory & the no: of bytes must be stored in 63209/10 and 63206/07 respectively."
1 -rewind & replay the cassette from the start.When you come to this page,press
1 (Tape)."'"Note address,length,customising POKEs(if any)etc for future ref:":
1 (Repeat)."'" For a demo, press
1 (Quit). Use
1 (Number).":
1 (MDrve)."
1 (Demo)."'" To return to the Index, press
1 ( Location Change ). For BASIC, press
1 the cursor is pointing to.";
1 stored in RAM (
1 no:,the next valid
1 but also
1 X,Y;""Optional Message"";Variable The method works with
1 key pressed,play the cassette. This tfrs parts 1&2."'"(3)After the reset enter
1 arrays to
1 V.RUMSEY
1 BASIC programs."'" (b)To
1